import request from '@/config/axios'

// 功能室周时间 VO
export interface RoomWeeksVO {
  id: number // 编号
  weekYear: string // 年份
  weekDateStart: Date // 周日期-开始。时间控件的值，时间戳
  weekDateEnd: Date // 周日期-结束。时间控件的值，时间戳
  weekNumberStart: string // 开始周 , 比如 3 代表第3周
  weekNumberEnd: string // 结束周。例如 4  代表第4周
  startDate: Date // 开始时间 。时间戳，代表开始周的第一天
  endDate: Date // 结束时间。时间戳，，代表结束周的最后一天
  sort: number // 排序
  status: number // 状态
}

// 功能室周时间 API
export const RoomWeeksApi = {
  // 查询功能室周时间分页
  getRoomWeeksPage: async (params: any) => {
    return await request.get({ url: `/school/room-weeks/page`, params })
  },

  // 查询功能室周时间详情
  getRoomWeeks: async (id: number) => {
    return await request.get({ url: `/school/room-weeks/get?id=` + id })
  },

  // 新增功能室周时间
  createRoomWeeks: async (data: RoomWeeksVO) => {
    return await request.post({ url: `/school/room-weeks/create`, data })
  },

  // 修改功能室周时间
  updateRoomWeeks: async (data: RoomWeeksVO) => {
    return await request.put({ url: `/school/room-weeks/update`, data })
  },

  // 删除功能室周时间
  deleteRoomWeeks: async (id: number) => {
    return await request.delete({ url: `/school/room-weeks/delete?id=` + id })
  },

  // 导出功能室周时间 Excel
  exportRoomWeeks: async (params) => {
    return await request.download({ url: `/school/room-weeks/export-excel`, params })
  },

  // ==================== 子表（功能室排期） ====================

  // 获得功能室排期列表
  getRoomScheduleListByWeekId: async (weekId) => {
    return await request.get({
      url: `/school/room-weeks/room-schedule/list-by-week-id?weekId=` + weekId
    })
  },
  // 获得功能室或游戏区的排期列表
  getWeekScheduleList: async (roomType) => {
    return await request.get({ url: `/school/room-weeks/week-schedule-list?roomType=` + roomType })
  }
}
